package com.rerun.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.rerun.entity.MemberUser;
import com.rerun.entity.vo.JobIntentionVo;
import com.rerun.entity.vo.UserInfoVo;
import com.rerun.vo.memberUser.StudentVo;

import java.util.List;

/**
 * The interface Member user service.
 */
public interface IMemberUserService extends IService<MemberUser> {

    /**
     * Select student page page.
     *
     * @param studentPage the student page
     * @param studentVo   the student vo
     * @return the page
     */
    Page<StudentVo> selectStudentPage(Page<StudentVo> studentPage, StudentVo studentVo);

    /**
     * Member user task boolean.
     *
     * @param users the users
     * @return the boolean
     * @see com.rerun.task.MemberTask
     */
    void memberUserTask(List<MemberUser> users);

    /**
     * Select by phone member user.
     *
     * @param phone the phone
     * @return the member user
     */
    MemberUser selectByPhone(String phone);

    /**
     * 通过用户id获取 个人信息
     *
     * @param memberId the member id
     * @return the job intention vo
     */
    JobIntentionVo selectMemberMessage(String memberId);

    /**
     * 编辑(完善)用户个人信息
     *
     * @param jobIntention the job intention
     * @return the boolean
     */
    boolean updatePerfectMemberMessage(JobIntentionVo jobIntention);

    /**
     * 完善个人信息 同时更新个人简历信息.
     *
     * @param vo the vo
     * @see com.rerun.service.IResumeService#insert(Object)
     * @see com.rerun.service.IResumeService#updateById(Object)
     */
    void updateUserInfo(UserInfoVo vo);

    /**
     * Gets user info.
     *
     * @param memberId the member id
     * @return the user info
     * @see com.rerun.entity.Resume
     */
    UserInfoVo getUserInfo(String  memberId);
}
